package com.fdb.efp.flow.service.facade;

import java.util.List;

import com.fdb.efp.flow.service.vo.BizFlowCfgTreeVO;
import com.fdb.efp.flow.service.vo.BizFlowInfoVO;

/**
 * <p>Description:业务流转信息				<p>
 * @author ligm
 * @date 2018-05-05
 */
public interface BizFlowInfoService {
	
	public List<BizFlowInfoVO> queryAllOwner(BizFlowInfoVO bizFlowInfoVo);
	
	public List<BizFlowInfoVO> queryAllCurrOrg(BizFlowInfoVO bizFlowInfoVo);
	
	public List<BizFlowInfoVO> queryAllCurrDownOrg(BizFlowInfoVO bizFlowInfoVo);
	
	public int insertBizFlowInfo(BizFlowInfoVO inBizFlowInfoVo);
	
	public int deleteByPk(BizFlowInfoVO bizFlowInfoVo);
	
	public int updateByPk(BizFlowInfoVO bizFlowInfoVo);
	
	public BizFlowInfoVO queryByPk(BizFlowInfoVO bizFlowInfoVo);
	
	public List<BizFlowInfoVO> queryBizFlowInfoByFlowType(BizFlowInfoVO bizFlowInfoVo);
	
	/**
	 * 查询业务流转基础配置树
	 * @param bizFlowInfoVo
	 * @return
	 */
	public List<BizFlowCfgTreeVO<?>> queryBizFlowCfgTree(BizFlowInfoVO bizFlowInfoVo);
	
	/**
	 * 查询业务流转事件配置树
	 * @param bizFlowInfoVo
	 * @return
	 */
	public List<BizFlowCfgTreeVO<?>> queryBizFlowEventCfgTree(BizFlowInfoVO bizFlowInfoVo);

	/**
	 * 根据查询条件 查询业务流转信息
	 * @param bizFlowInfoVO 查询条件
	 * @return 业务流转集合
	 */
	List<BizFlowInfoVO> queryBizFlowByCondition(BizFlowInfoVO bizFlowInfoVO);
}
